package cn.iocoder.lw.module.core.dal.dataobject.house;

import cn.iocoder.lw.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 核心-房源 DO
 *
 * @author Lw源码
 */
@TableName(value = "core_house")
@KeySequence("core_house_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CoreHouseDO extends BaseDO {

    private static final long serialVersionUID = 1L;

	/**
     * 房源编号，数据库自增
     */
    @TableId
    private Long id;

    /**
     * 项目编号
     *
     * 关联 {@link cn.iocoder.lw.module.core.dal.dataobject.project.CoreProjectDO#id}
     */
    private Long projectId;

    /**
     * 小区名称
     */
    private String communityName;

    /**
     * 楼栋
     */
    private String building;

    /**
     * 楼层
     */
    private String floor;

    /**
     * 房间号
     */
    private String roomNumber;

    /**
     * 完整房号（楼栋-楼层-房间号）
     */
    private String fullRoomNumber;

    /**
     * 经度
     */
    private BigDecimal longitude;

    /**
     * 纬度
     */
    private BigDecimal latitude;

    /**
     * 水表编号
     */
    private String waterMeterNumber;

    /**
     * 电表编号
     */
    private String electricityMeterNumber;

    /**
     * 门锁编号
     */
    private String lockNumber;

    /**
     * 房源类型
     *
     * 1-住宅 2-商铺 3-写字楼 4-仓库
     */
    private Integer houseType;

    /**
     * 房源面积（平方米）
     */
    private BigDecimal area;

    /**
     * 房源状态
     *
     * 0-空置 1-已出租 2-装修中 3-维修中
     */
    private Integer status;

    /**
     * 租金（元/月）
     */
    private BigDecimal rent;

    /**
     * 房源描述
     */
    private String description;

    /**
     * 联系人姓名
     */
    private String contactName;

    /**
     * 联系人手机号
     */
    private String contactPhone;

    /**
     * 备注
     */
    private String remark;

}